#ifndef BMD_136_H
#define BMD_136_H

#include "wx/wx.h"
#include "wx/glcanvas.h"
#include <GL/glu.h>
#include "game_controller.h"

class bmdGLCanvas : public wxGLCanvas
{
    
public:
	bmdGLCanvas(wxFrame* parent, int* args);
  
protected:
    void OnPaint(wxPaintEvent& event);
    void OnSize(wxSizeEvent& event);
    void OnEraseBackground(wxEraseEvent& event);
    //void OnMouse(wxMouseEvent& event);

private:
    void InitGL();
	bool initialized;
	GLuint m_gllist;

};


class MasterFrame : public wxFrame
{
public:
    MasterFrame(const wxString& title);

    void OnQuit(wxCommandEvent& event);
	void OnStep(wxCommandEvent& event);
	
	void OnTControl(wxCommandEvent& event);
	void OnFaster(wxCommandEvent& event);
	void OnSlower(wxCommandEvent& event);

	void OnTTick(wxTimerEvent& event);


    wxMenuBar *menubar;
    wxMenu *file;
	bmdGLCanvas *gl_canvas;
	wxTimer *timer;
	wxButton *quit_button;
	wxButton *step_button;
	wxButton *tcontrol_button;
	wxButton *faster_button;
	wxButton *slower_button;
};

#endif //BMD_136_H